from sqlmodel import SQLModel
from typing import T
# 定义通用的响应基类
class BaseResponse(SQLModel):
    code: int
    message: str
    data: T | None  # 可选的数据字段，可以是任意类型

# 分页信息模型
class PaginationInfo(SQLModel):
    current_page: int  # 当前页码
    page_size: int     # 每页大小
    total: int         # 总记录数
    total_pages: int   # 总页数

# 分页请求基类
class PaginationRequest(SQLModel):
    current_page: int = 1  # 当前页码，默认第1页
    page_size: int = 20    # 每页大小，默认20条

# 分页响应基类
class PaginatedResponse(BaseResponse):
    pagination: PaginationInfo  # 分页信息
